package cn.com.nou.base.dao.bdm;

import cn.com.nou.common.entity.NouEnumerationT;
import cn.com.nou.common.entity.Pagination;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface LearningFormMapper {
    /**
     * 根据type取字典表数据列表
     * @param nouEnumerationT
     * @param pagination
     * @return
     */
    public List<NouEnumerationT> getEnumByType(@Param("e") NouEnumerationT nouEnumerationT, @Param("p") Pagination pagination);

    /**
     * 根据type取字典表数据列表总数
     * @return
     */
    public int getEnumByTypeCount();

    /**
     * 根据type判断是否存在相同学习形式代码或学习形式名称
     * @return
     */
    public List<NouEnumerationT> getSameLevelItemCodeOrItemName(@Param("e") NouEnumerationT nouEnumerationT);

    /**
     * 根据type添加字典表
     * @param nouEnumerationT
     * @return
     */
    public int addEnumByType(@Param("e") NouEnumerationT nouEnumerationT);

    /**
     * 根据ID更新字典表
     * @param nouEnumerationT
     * @return
     */
    public int updateEnumById(@Param("e") NouEnumerationT nouEnumerationT);

    /**
     * 判断是否存在正在被学生使用
     * @param nouEnumerationT
     * @return
     */
    public int getStuUsedEnumCount(@Param("e") NouEnumerationT nouEnumerationT);

    /**
     * 判断是否被学校使用
     * @param nouEnumerationT
     * @return
     */
    public int getUsedEnumCount(@Param("e") NouEnumerationT nouEnumerationT);

    /**
     * 根据ID删除字典表
     * @param nouEnumerationT
     * @return
     */
    public int deleteEnumById(@Param("e") NouEnumerationT nouEnumerationT);
}
